<?php

Loader::using("ext::libs::php::collections::Map");

/**
 * Description of MatriculaChart
 *
 * @author JeyDotC
 */
class MatriculaChart {
    const SESSION_KEY = "__MatriculaChart";
    /**
     *
     * @var Collection <Cursos>
     */
    private $CursosList;
    
    function __construct() {
        $this->CursosList = new Map("CursosMatriculados");
    }
    
    /**
     *
     * @return Collection <Cursos>
     */
    public function getCursosList() {
        return $this->CursosList;
    }
    
    public function contarCreditosMatriculados() {
        $creditos = 0;
        foreach ($this->CursosList as /* @var $curso Cursos */$curso) {
            $creditos += $curso->getCreditos();
        }
        
        return $creditos;
    }
    
    public function agregarCurso(Cursos $curso) {
        $this->CursosList->put($curso->getCursoPk()->toString(), $curso);
    }
    
    public function eliminarCurso(CursoPk $cursoPk) {
        $this->CursosList->remove($cursoPk->toString());
    }
}

?>
